<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <script>
        // 数组中新增了map、reduce方法。
        // map()：接收一个函数，将原数组中的所有元素用这个函数处理后放入新数组返回.
        let arr = ['1', '20', '-5', '3'];
        // arr = arr.map((item) => {
        //     return item * 2;
        // })
        arr = arr.map(item => item * 2);
        console.log(arr);

        // reduce()：为数组中的每一个元素以此执行回调函数，不包括数组中被删除或从未被赋值的元素
        // [2, 40, -10, 6]
        // arr.reduce(callback,[initialValue])
        /** 
            1.previousValue(上一次调用返回的值，或者是提供的初始值（initialValue）)
            2.currentValue(数组中当前被处理的元素)
            3.index(当前元素在数组中的索引)
            4.array(调用 reduce 的数组)
             */
        var result = arr.reduce((a,b) => {
            console.log("上一次处理后：" + a);
            console.log("当前正在处理：" + b);
            return a + b;
        },100);
        console.log(result);
        


    </script>



</body>

</html>